<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        span {
            color: #aaa;
            font-size: 14px;
        }
        
        .right {
            color: green;
        }
        
        .wrong {
            color: red;
        }
    </style>
</head>

<body>
    <input type="text" class="uname"><span class="message">请输入用户名</span>
    <script>
        // 量词是设定某个模式出现的次数
        var reg = /^[a-zA-Z0-9_-]{6,16}$/;
        // var reg = /^\d{6,12}@(qq|sina|163)\.com$/;
        //这个模式用户只能输入英文字母 数字 下划线 横线但是有边界符[]这就限定了只能多选1
        // {6,16}中间不能有空格
        // console.log(reg.test('a')); //false
        // console.log(reg.test('8')); //false
        // console.log(reg.test('18')); //false
        // console.log(reg.test('aa')); //false
        // console.log('----------------------------');
        // console.log(reg.test('andy-red')); //true
        // console.log(reg.test('andy_red')); //true
        // console.log(reg.test('andy_007')); //true
        // console.log(reg.test('andy!007')); //false
        var uname = document.querySelector('.uname');
        var span = document.querySelector('.message');
        // onblur失去焦点
        uname.onblur = function() {
            if (reg.test(this.value)) {
                console.log('yes');
                span.className = 'right';
                //更改类名
                span.innerHTML = '用户格式输入正确';
                //更改标签文本
            } else {
                console.log('no');
                span.className = 'wrong';
                span.innerHTML = '格式输入错误';
            }
        }
    </script>
</body>

</html>